package cc.rengu.redp.bizimpl.upmp.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * <p>
 *
 * </p>
 *
 * @author 刘玉亮.LL
 * @since 2021-06-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("T_B_MCHNT_BASE_INFO")
@ApiModel(value = "UpmpBMchntBaseInfo对象", description = "")
public class UpmpBMchntBaseInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "机构标识")
    @TableField("INST_ID")
    @NotBlank(message = "{required}")
    private String instId;

    @ApiModelProperty(value = "商户类型")
    @TableField("MCHNT_TYPE")
    @NotBlank(message = "{required}")
    private String mchntType;

    @ApiModelProperty(value = "商户号")
    @TableField("MCHNT_NO")
    @NotBlank(message = "{required}")
    private String mchntNo;

    @ApiModelProperty(value = "商户名称")
    @TableField("MCHNT_NAME")
    @NotBlank(message = "{required}")
    private String mchntName;

    @ApiModelProperty(value = "商户简称")
    @TableField("MCHNT_SIMPLE_NAME")
    @NotBlank(message = "{required}")
    private String mchntSimpleName;

    @ApiModelProperty(value = "营业地址-省")
    @TableField("MCHNT_BIZ_PROVINCE")
    private String mchntBizProvince;

    @ApiModelProperty(value = "营业地址-市")
    @TableField("MCHNT_BIZ_CITY")
    private String mchntBizCity;

    @ApiModelProperty(value = "营业地址-区")
    @TableField("MCHNT_BIZ_REGION")
    private String mchntBizRegion;

    @ApiModelProperty(value = "营业地址-街道")
    @TableField("MCHNT_BIZ_STREET")
    private String mchntBizStreet;

    @ApiModelProperty(value = "营业地址")
    @TableField("MCHNT_BIZ_ADDR")
    @NotBlank(message = "{required}")
    private String mchntBizAddr;

    @ApiModelProperty(value = "企业性质")
    @TableField("MCHNT_NATURE")
    @NotBlank(message = "{required}")
    private String mchntNature;

    @ApiModelProperty(value = "经营范围")
    @TableField("MANAGEMENT_SCOPE")
    @NotBlank(message = "{required}")
    private String managementScope;

    @ApiModelProperty(value = "行业类别")
    @TableField("INDUSTRY_TYPE")
    @NotBlank(message = "{required}")
    private String industryType;

    @ApiModelProperty(value = "签约机构")
    @TableField("SIGN_INST_ID")
    @NotBlank(message = "{required}")
    private String signInstId;

    @ApiModelProperty(value = "商户等级")
    @TableField("MCHNT_LEVEL")
    @NotBlank(message = "{required}")
    private String mchntLevel;

    @ApiModelProperty(value = "所属商圈")
    @TableField("MCHNT_AREA")
    private String mchntArea;

    @ApiModelProperty(value = "所属平台商户")
    @TableField("PLAT_MCHNT_NO")
    private String platMchntNo;

    @ApiModelProperty(value = "所属集团商户")
    @TableField("GROUP_MCHNT_NO")
    private String groupMchntNo;

    @ApiModelProperty(value = "所属代理商")
    @TableField("AGENT_MCHNT_NO")
    private String agentMchntNo;

    @ApiModelProperty(value = "商户经度坐标")
    @TableField("MCHNT_LNG")
    private String mchntLng;

    @ApiModelProperty(value = "商户纬度坐标")
    @TableField("MCHNT_LAT")
    private String mchntLat;

    @ApiModelProperty(value = "商户拓展方式")
    @TableField("MCHNT_EXPAND_TYPE")
    @NotBlank(message = "{required}")
    private String mchntExpandType;

    @ApiModelProperty(value = "商户拓展渠道")
    @TableField("MCHNT_EXPAND_CHANNEL")
    @NotBlank(message = "{required}")
    private String mchntExpandChannel;

    @ApiModelProperty(value = "自主开展营销标识")
    @TableField("MARKET_FLAG")
    @NotBlank(message = "{required}")
    private String marketFlag ="N";

    @ApiModelProperty(value = "发送短信标识")
    @TableField("SMS_FLAG")
    @NotBlank(message = "{required}")
    private String smsFlag;

    @ApiModelProperty(value = "商户联系人")
    @TableField("MCHNT_CONTACT_NAME")
    private String mchntContactName;

    @ApiModelProperty(value = "商户联系人证件类型")
    @TableField("MCHNT_CONTACT_CERT_TYPE")
    private String mchntContactCertType;

    @ApiModelProperty(value = "商户联系人证件号码")
    @TableField("MCHNT_CONTACT_CERT_NO")
    private String mchntContactCertNo;

    @ApiModelProperty(value = "证件生效日期")
    @TableField("CERT_EFFECTIVE_DATE")
    private String certEffectiveDate;

    @ApiModelProperty(value = "证件失效日期")
    @TableField("CERT_EXPIRY_DATE")
    private String certExpiryDate;

    @ApiModelProperty(value = "商户联系电话")
    @TableField("MCHNT_CONTACT_PHONE")
    private String mchntContactPhone;

    @ApiModelProperty(value = "商户联系人手机号")
    @TableField("MCHNT_CONTACT_MOBILE")
    private String mchntContactMobile;

    @ApiModelProperty(value = "商户联系人邮箱")
    @TableField("MCHNT_CONTACT_EMAIL")
    private String mchntContactEmail;

    @ApiModelProperty(value = "邮箱发送对账单标识")
    @TableField("RECON_MAIL_FLAG")
    @NotBlank(message = "{required}")
    private String reconMailFlag ="N";

    @ApiModelProperty(value = "商户营业面积")
    @TableField("MCHNT_BIZ_AREA")
    private String mchntBizArea;

    @ApiModelProperty(value = "营业开始时间")
    @TableField("BIZ_START_TIME")
    private String bizStartTime;

    @ApiModelProperty(value = "营业结束时间")
    @TableField("BIZ_END_TIME")
    private String bizEndTime;

    @ApiModelProperty(value = "员工人数")
    @TableField("EMPLOYEE_NUM")
    private String employeeNum;

    @ApiModelProperty(value = "是否独立维护商户资料")
    @TableField("INDEPENDENT_DATA_FLAG")
    private String independentDataFlag ="Y";

    @ApiModelProperty(value = "商户属性")
    @TableField("MCHNT_ATTR")
    @NotBlank(message = "{required}")
    private String mchntAttr;

    @ApiModelProperty(value = "网络域名")
    @TableField("MCHNT_NETWORK_DOMAIN")
    private String mchntNetworkDomain;

    @ApiModelProperty(value = "ICP备案号")
    @TableField("ICP_RECORD_NO")
    private String icpRecordNo;

    @ApiModelProperty(value = "IP地址")
    @TableField("IP")
    private String ip;

    @ApiModelProperty(value = "商户签约类型")
    @TableField("MCHNT_SIGN_TYPE")
    private String mchntSignType;

    @ApiModelProperty(value = "是否开通本行卡实时清算")
    @TableField("REAL_SETTLE_FLAG")
    @NotBlank(message = "{required}")
    private String realSettleFlag ="N";

    @ApiModelProperty(value = "商户结算模式")
    @TableField("MCHNT_SETTLE_MODE")
    @NotBlank(message = "{required}")
    private String mchntSettleMode ="00";

    @ApiModelProperty(value = "商户延迟清算标志")
    @TableField("MCHNT_DELAY_FLAG")
    @NotBlank(message = "{required}")
    private String mchntDelayFlag ="N";

    @ApiModelProperty(value = "商户延迟清算原因")
    @TableField("MCHNT_DELAY_RESAON")
    private String mchntDelayResaon;

    @ApiModelProperty(value = "开通提现标志")
    @TableField("CASH_WITHDRAWAL_FLAG")
    @NotBlank(message = "{required}")
    private String cashWithdrawalFlag ="N";

    @ApiModelProperty(value = "是否支付信用卡")
    @TableField("SUPPORT_CREDIT_FLAG")
    private String supportCreditFlag ="Y";

    @ApiModelProperty(value = "是否支持小额免密")
    @TableField("NO_PASSWORD_FLAG")
    @NotBlank(message = "{required}")
    private String noPasswordFlag ="N";

    @ApiModelProperty(value = "小额免密金额")
    @TableField("NO_PASSWORD_AMT")
    private String noPasswordAmt;

    @ApiModelProperty(value = "连锁商户号")
    @TableField("CHAIN_MCHNT_NO")
    private String chainMchntNo;

    @ApiModelProperty(value = "连锁商户抽成方式")
    @TableField("CHAIN_MCHNT_ACCT_TYPE")
    private String chainMchntAcctType;

    @ApiModelProperty(value = "发票开票类型")
    @TableField("INVOICE_TYPE")
    private String invoiceType;

    @ApiModelProperty(value = "拓展经理工号")
    @TableField("MANAGER_ID")
    @NotBlank(message = "{required}")
    private String managerId;

    @ApiModelProperty(value = "拓展经理姓名")
    @TableField("MANAGER_NAME")
    private String managerName;

    @ApiModelProperty(value = "商户状态")
    @TableField("MCHNT_STATUS")
    @NotBlank(message = "{required}")
    private String mchntStatus;

    @ApiModelProperty(value = "审核状态")
    @TableField("AUDIT_STATUS")
    @NotBlank(message = "{required}")
    private String auditStatus;

    @ApiModelProperty(value = "停用原因")
    @TableField("MCHNT_STOP_REASON")
    private String mchntStopReason;

    @ApiModelProperty(value = "商户注销原因")
    @TableField("MCHNT_CANCEL_REASON")
    private String mchntCancelReason;

    @ApiModelProperty(value = "审核拒绝原因")
    @TableField("AUDIT_REFUSE_REASON")
    private String auditRefuseReason;

    @ApiModelProperty(value = "商户申请时间")
    @TableField("MCHNT_APPLY_TIME")
    private String mchntApplyTime;

    @ApiModelProperty(value = "商户入驻时间")
    @TableField("MCHNT_EXPAND_TIME")
    @NotBlank(message = "{required}")
    private String mchntExpandTime;

    @ApiModelProperty(value = "创建人")
    @TableField("OPR_ID")
    @NotBlank(message = "{required}")
    private String oprId;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    @NotBlank(message = "{required}")
    private String createTime;

    @ApiModelProperty(value = "最后修改人")
    @TableField("LAST_OPR_ID")
    private String lastOprId;

    @ApiModelProperty(value = "最后修改时间")
    @TableField("LAST_UPDATE_TIME")
    private String lastUpdateTime;

    @ApiModelProperty(value = "最后审核人")
    @TableField("LAST_AUDIT_ID")
    private String lastAuditId;

    @ApiModelProperty(value = "最后审核时间")
    @TableField("LAST_AUDIT_TIME")
    private String lastAuditTime;

    @ApiModelProperty(value = "非业务主键")
    @TableField("ID")
    @TableId(type= IdType.ASSIGN_ID)
    private String id;

    @ApiModelProperty(value = "备用字段1")
    @TableField("REMARK1")
    private String remark1;

    @ApiModelProperty(value = "备用字段2")
    @TableField("REMARK2")
    private String remark2;

    @ApiModelProperty(value = "备用字段3")
    @TableField("REMARK3")
    private String remark3;

    @ApiModelProperty(value = "备用字段4")
    @TableField("REMARK4")
    private String remark4;

    @ApiModelProperty(value = "备用字段5")
    @TableField("REMARK5")
    private String remark5;

    @ApiModelProperty(value = "操作类型：新增、修改、删除、审核等")
    @TableField(exist = false)
    private String optFlag;

    @ApiModelProperty(value = "省名称")
    @TableField(exist = false)
    private String mchntBizProvinceName;

    @ApiModelProperty(value = "市名称")
    @TableField(exist = false)
    private String mchntBizCityName;

    @ApiModelProperty(value = "区名称")
    @TableField(exist = false)
    private String mchntBizRegionName;
}
